package com.net.xpay.common.service;

import com.net.xpay.common.domain.User;
import com.net.xpay.common.domain.UserProfile;
import com.net.xpay.common.model.PasswordModel;
import com.net.xpay.common.model.RegisterModel;
import com.net.xpay.common.model.UpdateUserServicePriceModel;
import com.net.xpay.core.model.UpdatePartnerModel;
import com.net.xpay.core.model.UserTransLimitModel;

/**
 * @author  on 02/02/2018.
 */

public interface UserService {
    User doRegister(RegisterModel registerModel);

    User registerInternal(RegisterModel registerModel);

    User autoRegister(RegisterModel registerModel);

    User resetPassword(PasswordModel passwordModel);

    User modifyPassword(User user, PasswordModel passwordModel);

    User modifyPayPassword(User user, PasswordModel passwordModel);

    UserProfile createUserProfile(Long userId);

    /**
     * 获取用户当天的转账额度和当月的转账额度
     * @param user
     * @return
     */
    UserTransLimitModel getTransferLimit(User user, Long alipayUserId);

    /**
     * 合伙人换绑
     */
    void updatePartner(UpdatePartnerModel model);

    /**
     * 设置服务费
     */
    User updateServicePrice(UpdateUserServicePriceModel model);
}
